package com.ym.medical.domain.entity;

import com.ym.common.constant.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.util.Date;

/**
 * 华为电话回调参数对象 huawei_return_param
 *
 * @author ym
 * @date 2020-08-24
 */
@ApiModel("华为电话回调参数-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "huawei_return_param")
public class HuaweiReturnParamEntity extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 呼叫方向
	 */
	@ApiModelProperty("呼叫方向")
	private Integer direction;

	/**
	 * 隐私保护通话应用的app_key
	 */
	@ApiModelProperty("隐私保护通话应用的app_key")
	private String appKey;

	/**
	 * 呼叫记录的唯一标识
	 */
	@ApiModelProperty("呼叫记录的唯一标识")
	private String icid;

	/**
	 * 隐私保护号码
	 */
	@ApiModelProperty("隐私保护号码")
	private String bindNum;

	/**
	 * 通话链路的唯一标识。
	 */
	@ApiModelProperty("通话链路的唯一标识。")
	private String sessionId;

	/**
	 * 主叫号码
	 */
	@ApiModelProperty("主叫号码")
	private String callerNum;

	/**
	 * 被叫号码
	 */
	@ApiModelProperty("被叫号码")
	private String calleeNum;

	/**
	 * 呼入的开始时间。
	 */
	@ApiModelProperty("呼入的开始时间。")
	private Date callInTime;

	/**
	 * 呼叫结束时间
	 */
	@ApiModelProperty("呼叫结束时间")
	private Date callEndTime;

	/**
	 * 转接呼叫操作失败的Q850原因值
	 */
	@ApiModelProperty("转接呼叫操作失败的Q850原因值")
	private Integer fwdUnaswRsn;

	/**
	 * 通话失败的拆线点
	 */
	@ApiModelProperty("通话失败的拆线点")
	private Integer ulFailReason;

	/**
	 * 呼入、呼出的失败SIP状态码。
	 */
	@ApiModelProperty("呼入、呼出的失败SIP状态码。")
	private Integer sipStatusCode;

	/**
	 * 0未录音1录音
	 */
	@ApiModelProperty("0未录音1录音")
	private Integer recordFlag;

	/**
	 * 录音开始时间
	 */
	@ApiModelProperty("录音开始时间")
	private Date recordStartTime;

	/**
	 * 录音文件名
	 */
	@ApiModelProperty("录音文件名")
	private String recordObjectName;

	/**
	 * 录音文件名所在的目录名
	 */
	@ApiModelProperty("录音文件名所在的目录名")
	private String recordBucketName;

	/**
	 * 存放录音文件的域名
	 */
	@ApiModelProperty("存放录音文件的域名")
	private String recordDomain;

	/**
	 * 绑定ID
	 */
	@ApiModelProperty("绑定ID")
	private String subscriptionId;

	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private Date creatTime;

	/**
	 * 更改时间
	 */
	@ApiModelProperty("更改时间")
	private Date upTime;

}
